1 Transects

Plant Flowers Date lon lat ele Month Year julian
Glossoloma oblongicalyx 4 2015-10-19 -78.59093 0.130838 2270 October 2015 292
Gasteranthus quitensis 2 2016-10-17 -78.59770 0.120070 1940 October 2016 291
Kohleria affinis 1 2016-12-13 -78.59534 0.126746 2110 December 2016 348
Columnea ciliata 3 2014-02-27 -78.59934 0.116682 1960 February 2014 58
Columnea medicinalis 1 2014-04-23 -78.59372 0.128700 2130 April 2014 113
Drymonia teuscheri 3 2016-07-28 -78.59245 0.129393 2200 July 2016 210

2 Phylogeny

3 Traits

Plant Flowers Date lon lat ele Month Year julian
Glossoloma oblongicalyx 4 2015-10-19 -78.59093 0.130838 2270 October 2015 292
Gasteranthus quitensis 2 2016-10-17 -78.59770 0.120070 1940 October 2016 291
Kohleria affinis 1 2016-12-13 -78.59534 0.126746 2110 December 2016 348
Columnea ciliata 3 2014-02-27 -78.59934 0.116682 1960 February 2014 58
Columnea medicinalis 1 2014-04-23 -78.59372 0.128700 2130 April 2014 113
Drymonia teuscheri 3 2016-07-28 -78.59245 0.129393 2200 July 2016 210

3.0.1 Total Flowers

3.1 Peak date

As range

3.2 Infer absences

3.3 Species elevation ranges

3.4 Species by transect matrix

Check date integrity

Need to cut into better slices?

4 Count model of species phenology

## sink("model/occ_baseline.jags")
## cat("
##     model {
##     
##     for (x in 1:Nobs){
##     
##     #Observation of a flowering plant
##     Y[x] ~ dbern(alpha[Plant[x]])
##     
##     #Residuals
##     discrepancy[x] <- pow(Y[x] - alpha[Plant[x]],2)
##     
##     #Assess Model Fit
##     Ynew[x] ~ dbern(alpha[Plant[x]])
##     discrepancy.new[x]<-pow(Ynew[x] - alpha[Plant[x]],2)
##     
##     }
##     
##     #Sum discrepancy
##     fit<-sum(discrepancy)/Nobs
##     fitnew<-sum(discrepancy.new)/Nobs
##     
##     #Prediction
##     
##     for(i in 1:Npreds){
##     
##     #predict value
##     
##     #Observation - probability of flowering
##     prediction[i] ~ dbern(alpha[Ypred_plant[i]])
##     
##     #squared predictive error
##     pred_error[i] <- pow(Ypred[i] - prediction[i],2)
##     }
##     
##     #Predictive Error
##     fitpred<-sum(pred_error)/Npreds
##     
##     #Priors
##     
##     #Species level priors
##     
##     for (j in 1:Plants){
##     
##     #Intercept
##     #Intercept flowering count
##     alpha[j] ~ dbeta(1,1)
##     
##     } 
##     
##     }
##     ",fill=TRUE)
## 
## sink()
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 2926
##    Unobserved stochastic nodes: 3444
##    Total graph size: 17234
## 
## Initializing model

4.0.1 Evaluate convergence

4.0.2 Posterior estimates

4.0.3 Error by elevation for estimated data

5 Phylogeny

5.1 Attraction

## sink("model/occ_attraction.jags")
## cat("
##     model {
##     
##     for (x in 1:Nobs){
##     
##       #Observation of a flowering plant
##       Y[x] ~ dbern(p[x])
##       logit(p[x]) <- alpha[Plant[x]] + e[Plant[x],Date[x]]
##   
##       #Residuals
##       discrepancy[x] <- pow(Y[x] - p[x],2)
##       
##       #Assess Model Fit
##       Ynew[x] ~ dbern(p[x])
##       discrepancy.new[x]<-pow(Ynew[x] - p[x],2)
##     
##     }
##     
##     #Sum discrepancy
##     fit<-sum(discrepancy)/Nobs
##     fitnew<-sum(discrepancy.new)/Nobs
##     
##     #Prediction
##     
##     for(i in 1:Npreds){
##     
##     #predict value
##     
##     #Observation - probability of flowering
##     prediction[i] ~ dbern(p_new[i])
##     logit(p_new[i])<-alpha[Ypred_plant[i]] + e[Ypred_plant[i],Ypred_date[i]]
##     
##     #squared predictive error
##     pred_error[i] <- pow(Ypred[i] - prediction[i],2)
##     }
##     
##     #Predictive Error
##     fitpred<-sum(pred_error)/Npreds
##     
##     #########################
##     #autocorrelation in error
##     #########################
##     
##     #For each of observation
##     for(k in 1:Dates){
##       e[1:Plants,k] ~ dmnorm(zeros[],tauC[,])
##     }
##     
##     ##covariance among similiar species
##     for(i in 1:Plants){
##     for(j in 1:Plants){
##     C[i,j] = exp(-lambda_cov * D[i,j])
##     }
##     }
##     
##     ## Covert variance to precision for each parameter, allow omega to shrink to identity matrix
##     vCov = omega*C[,] + (1-omega) * I
##     tauC=inverse(vCov*gamma)
##     
##     #Priors
##     
##     #Species level priors
##     
##     for (j in 1:Plants){
##     
##     #Intercept
##     #Intercept flowering count
##     alpha[j] ~ dnorm(0,0.386)
##     
##     } 
##     
##     #Autocorrelation priors
##     gamma ~ dunif(0,20)
##     
##     #Strength of covariance decay
##     lambda_cov = 5
##     omega ~ dbeta(1,1)
##     }
##     ",fill=TRUE)
## 
## sink()
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 2926
##    Unobserved stochastic nodes: 3691
##    Total graph size: 37446
## 
## Initializing model

6 Get Chains

6.0.1 Evaluate convergence

6.0.2 Posterior estimates

Mean phylogenetic covariance

6.1 Decay in phylogenetic attraction

6.2 Repulsion

## sink("model/occ_repulsion.jags")
## cat("
##     model {
##     
##     for (x in 1:Nobs){
##     
##     #Observation of a flowering plant
##     Y[x] ~ dbern(p[x])
##     logit(p[x]) <- alpha[Plant[x]] + e[Plant[x],Date[x]]
##     
##     #Residuals
##     discrepancy[x] <- pow(Y[x] - p[x],2)
##     
##     #Assess Model Fit
##     Ynew[x] ~ dbern(p[x])
##     discrepancy.new[x]<-pow(Ynew[x] - p[x],2)
##     
##     }
##     
##     #Sum discrepancy
##     fit<-sum(discrepancy)/Nobs
##     fitnew<-sum(discrepancy.new)/Nobs
##     
##     #Prediction
##     
##     for(i in 1:Npreds){
##     
##     #predict value
##     
##     #Observation - probability of flowering
##     prediction[i] ~ dbern(p_new[i])
##     logit(p_new[i])<-alpha[Ypred_plant[i]] + e[Ypred_plant[i],Ypred_date[i]]
##     
##     #squared predictive error
##     pred_error[i] <- pow(Ypred[i] - prediction[i],2)
##     }
##     
##     #Predictive Error
##     fitpred<-sum(pred_error)/Npreds
##     
##     #########################
##     #autocorrelation in error
##     #########################
##     
##     #For each of observation
##     for(k in 1:Dates){
##     e[1:Plants,k] ~ dmnorm(zeros[],tauC[,])
##     }
##     
##     ##covariance among similiar species
##     for(i in 1:Plants){
##     for(j in 1:Plants){
##     C[i,j] = exp(-lambda_cov * D[i,j])
##     }
##     }
##     
##     ## Covert variance to precision for each parameter, allow omega to shrink to identity matrix
##     vCov = omega*C[,] + (1-omega) * I
##     tauC=vCov*gamma
##     
##     #Priors
##     
##     #Species level priors
##     
##     for (j in 1:Plants){
##     
##     #Intercept
##     #Intercept flowering count
##     alpha[j] ~ dnorm(0,0.386)
##     
##     } 
##     
##     #Autocorrelation priors
##     gamma ~ dunif(0,20)
##     
##     #Strength of covariance decay
##     lambda_cov = 5
##     omega ~ dbeta(1,1)
##     }
##     ",fill=TRUE)
## 
## sink()
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 2926
##    Unobserved stochastic nodes: 3691
##    Total graph size: 37445
## 
## Initializing model

7 Get Chains

7.0.1 Evaluate convergence

7.0.2 Posterior estimates

Mean phylogenetic covariance martix

7.1 Decay in phylogenetic repulsion

8 Traits

8.1 Trait Attraction

## sink("model/occ_attraction.jags")
## cat("
##     model {
##     
##     for (x in 1:Nobs){
##     
##       #Observation of a flowering plant
##       Y[x] ~ dbern(p[x])
##       logit(p[x]) <- alpha[Plant[x]] + e[Plant[x],Date[x]]
##   
##       #Residuals
##       discrepancy[x] <- pow(Y[x] - p[x],2)
##       
##       #Assess Model Fit
##       Ynew[x] ~ dbern(p[x])
##       discrepancy.new[x]<-pow(Ynew[x] - p[x],2)
##     
##     }
##     
##     #Sum discrepancy
##     fit<-sum(discrepancy)/Nobs
##     fitnew<-sum(discrepancy.new)/Nobs
##     
##     #Prediction
##     
##     for(i in 1:Npreds){
##     
##     #predict value
##     
##     #Observation - probability of flowering
##     prediction[i] ~ dbern(p_new[i])
##     logit(p_new[i])<-alpha[Ypred_plant[i]] + e[Ypred_plant[i],Ypred_date[i]]
##     
##     #squared predictive error
##     pred_error[i] <- pow(Ypred[i] - prediction[i],2)
##     }
##     
##     #Predictive Error
##     fitpred<-sum(pred_error)/Npreds
##     
##     #########################
##     #autocorrelation in error
##     #########################
##     
##     #For each of observation
##     for(k in 1:Dates){
##       e[1:Plants,k] ~ dmnorm(zeros[],tauC[,])
##     }
##     
##     ##covariance among similiar species
##     for(i in 1:Plants){
##     for(j in 1:Plants){
##     C[i,j] = exp(-lambda_cov * D[i,j])
##     }
##     }
##     
##     ## Covert variance to precision for each parameter, allow omega to shrink to identity matrix
##     vCov = omega*C[,] + (1-omega) * I
##     tauC=inverse(vCov*gamma)
##     
##     #Priors
##     
##     #Species level priors
##     
##     for (j in 1:Plants){
##     
##     #Intercept
##     #Intercept flowering count
##     alpha[j] ~ dnorm(0,0.386)
##     
##     } 
##     
##     #Autocorrelation priors
##     gamma ~ dunif(0,20)
##     
##     #Strength of covariance decay
##     lambda_cov = 5
##     omega ~ dbeta(1,1)
##     }
##     ",fill=TRUE)
## 
## sink()
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 2926
##    Unobserved stochastic nodes: 3691
##    Total graph size: 37602
## 
## Initializing model

9 Get Chains

9.0.1 Evaluate convergence

9.0.2 Posterior estimates

9.1 Decay in trait attraction

9.2 Repulsion

## sink("model/occ_repulsion.jags")
## cat("
##     model {
##     
##     for (x in 1:Nobs){
##     
##     #Observation of a flowering plant
##     Y[x] ~ dbern(p[x])
##     logit(p[x]) <- alpha[Plant[x]] + e[Plant[x],Date[x]]
##     
##     #Residuals
##     discrepancy[x] <- pow(Y[x] - p[x],2)
##     
##     #Assess Model Fit
##     Ynew[x] ~ dbern(p[x])
##     discrepancy.new[x]<-pow(Ynew[x] - p[x],2)
##     
##     }
##     
##     #Sum discrepancy
##     fit<-sum(discrepancy)/Nobs
##     fitnew<-sum(discrepancy.new)/Nobs
##     
##     #Prediction
##     
##     for(i in 1:Npreds){
##     
##     #predict value
##     
##     #Observation - probability of flowering
##     prediction[i] ~ dbern(p_new[i])
##     logit(p_new[i])<-alpha[Ypred_plant[i]] + e[Ypred_plant[i],Ypred_date[i]]
##     
##     #squared predictive error
##     pred_error[i] <- pow(Ypred[i] - prediction[i],2)
##     }
##     
##     #Predictive Error
##     fitpred<-sum(pred_error)/Npreds
##     
##     #########################
##     #autocorrelation in error
##     #########################
##     
##     #For each of observation
##     for(k in 1:Dates){
##     e[1:Plants,k] ~ dmnorm(zeros[],tauC[,])
##     }
##     
##     ##covariance among similiar species
##     for(i in 1:Plants){
##     for(j in 1:Plants){
##     C[i,j] = exp(-lambda_cov * D[i,j])
##     }
##     }
##     
##     ## Covert variance to precision for each parameter, allow omega to shrink to identity matrix
##     vCov = omega*C[,] + (1-omega) * I
##     tauC=vCov*gamma
##     
##     #Priors
##     
##     #Species level priors
##     
##     for (j in 1:Plants){
##     
##     #Intercept
##     #Intercept flowering count
##     alpha[j] ~ dnorm(0,0.386)
##     
##     } 
##     
##     #Autocorrelation priors
##     gamma ~ dunif(0,20)
##     
##     #Strength of covariance decay
##     lambda_cov = 5
##     omega ~ dbeta(1,1)
##     }
##     ",fill=TRUE)
## 
## sink()
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 2926
##    Unobserved stochastic nodes: 3691
##    Total graph size: 37601
## 
## Initializing model

10 Get Chains

10.0.1 Evaluate convergence

10.0.2 Posterior estimates

10.1 Decay in trait repulsion

11 Model Comparison

11.1 Alpha

The probability of occurrence.

11.2 E: The effect of autocorrelation on mean flowering intensity

11.3 Omega: The magnitude of the effect of autocorrelation on mean flowering occurrence

11.4 Gamma: The variance of the effect of autocorrelation on mean flowering occurrence

11.5 Effect of autocorrelation

11.6 Decay in autocorrelation effect

12 Model Fit

12.1 Bayesian pvalue

## # A tibble: 5 x 2
##   Model                       p
##   <chr>                   <dbl>
## 1 baseline                0.445
## 2 phylogenetic_attraction 0.53 
## 3 phylogenetic_repulsion  0.525
## 4 trait_attraction        0.535
## 5 trait_repulsion         0.498

12.2 Overall

12.3 By Species

Zoom in #Prediction